package cn.hcbycloud.auth.mapper;


import cn.hcbycloud.auth.model.Permission;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Set;

/**
 * 权限表
 * @author gaoheng
 * @date 2022-01-21 23:44:11
 */
public interface PermissionMapper extends BaseMapper<Permission> {
    /**
     * 根据角色ID列表获取权限列表
     * @param roleIdList
     * @param tenantId
     * @return
     */
    List<Permission> selectPermissionInfoByRoleIds(@Param("roleIdList") List<String> roleIdList, @Param("tenantId") String tenantId);

    /**
     * 根据角色编码列表获取权限列表
     * @param roleCodeList
     * @param tenantId
     * @return
     */
    List<Permission> selectPermissionInfoByRoleCodes(@Param("roleCodeList") List<String> roleCodeList, @Param("tenantId") String tenantId);

    /**
     * 根据用户ID获取对应的权限编码列表
     * @param userId
     * @param tenantId
     * @return
     */
    Set<String> selectPermissionsByUserId(@Param("userId") String userId, @Param("tenantId") String tenantId);
}
